package logic

import (
	"context"

	"github.com/zeromicro/go-zero/tools/goctl/example/api/internal/domain"
	"github.com/zeromicro/go-zero/tools/goctl/example/api/internal/svc"
)

type Common interface {
	Upload(ctx context.Context, req *domain.UploadReq) (resp *domain.UploadResp, err error)
	Download(ctx context.Context, req *domain.DownloadReq) (err error)
	Captcha(ctx context.Context, req *domain.CaptchaReq) (resp *domain.CaptchaResp, err error)
}

type common struct {
	svcCtx *svc.ServiceContext
}

func NewCommon(svcCtx *svc.ServiceContext) Common {
	return &common{
		svcCtx: svcCtx,
	}
}

func (l *common) Upload(ctx context.Context, req *domain.UploadReq) (resp *domain.UploadResp, err error) {
	return
}

func (l *common) Download(ctx context.Context, req *domain.DownloadReq) (err error) {
	return
}

func (l *common) Captcha(ctx context.Context, req *domain.CaptchaReq) (resp *domain.CaptchaResp, err error) {
	return
}
